Optimizing distributed practice: Theoretical analysis and practical implications.